The present invention relates to improvements in a general purpose set theoretic processor (GPSTP) as hereinafter defined. A GPSTP is a systolic (i.e., stimulus-response) processor consisting of N Building Block Modules (BBM's) each of which is itself a systolic processor. The present invention affects each of the BBM's internally and has no effect on the overall structure. Each of the BBM's has two major components; a Recognition Network and an Aggregation Network. They are controlled by an external Stimulus-Response Sequencer. More specifically, a GPSTP as described in the co-pending patent application includes at least one GPSTP building block module that comprises three components, a Recognition Network, an Aggregation Network and a Sequencer. In operation in its so-called scan mode, the Recognition Network generates a substantially amplified response, such as a 1024 bit response, for every input quantum (e.g., byte.). The Aggregation Network has two components, an Aggregation Routing Matrix component and a Threshold Logic component. The Aggregation Routing Matrix directs selected bits of the Recognition Network to selected Threshold Logic Units in the Threshold Logic component where they are counted. The Sequencer provides control signals for the other components. A GPSTP as described in the co-pending patent application is an advance in overcoming barriers to solving problems in complex and difficult pattern recognition, such as face-recognition suitable for surveillance, detection and the like; in real-time, multiple anonymous-speaker, continuous speech, multiple-language understanding in noisy environments and in understanding threat related content (encoded or not); content recognition and retrieval of pertinent digital information in text, sound, graphics, and video domains in real-time; and in detecting equipment failure precursor behaviors. The applications are widespread and often specialized, rendering the need for improvements in the basic general purpose set theoretic processor.
First, the basic GPSTP as originally conceived provided for one-way counters to aggregate simple, fragmentary responses to elementary stimuli. However, such counters could only decrement from an initial value and generate an output signal if they reach zero. Such “down-counters” are useful merely as threshold logic devices. However, it has now been determined that there are many problems that require counting responses for other purposes for which “down counters” are ill-suited. Improvement is needed.
Second, adequate handling of Boolean Logic is not as simple as it might seem. Although threshold logic performs a great deal of what would otherwise be performed by the Boolean Logic, the sorts of problems addressed by the GPSTP require resolution of logic expressions employing numerous logical variables. The embodiment described in U.S. Pat. No. 7,392,229, envisions thirty two variables and employs a relatively straightforward approach: as a part of Reference Pattern compilation a canonical sum-of-products truth table is derived. The truth-table is loaded into a 232×1 bit random access memory (RAM) using the binary representation of the variables' truth-valuations as an index to store the truth-value of the expression. Evaluating the composite truth value of a stimulus response is a matter of using the binary representation of the truth-values of the response component variables to index the truth-value of the composite. This operation can be performed very rapidly and requires only one memory access. If the fastest memory available at a given point in time is used, then, for this configuration, there is no faster way at that given point in time.
However, there were practical limitations based on then-extant technology. The magnitude of 232: 232=4,294,967,295, four times the capacity of any memory chip available in early 2006, also four times the capacity of IC chips available to implement the GPSTP on a single chip. Given the state of the art, it was impossible to implement a GPSTP with on-board Composite Boolean Logic. Of the several unfortunate consequences of an external Composite Boolean Logic is that its outputs cannot easily be used by the GPSTP without degrading speed performance.
The third issue is intimately intertwined with the problems arising from external Composite Boolean Logic, so that it cannot be resolved if a way cannot be found to realize a GPSTP with on-board Composite Boolean Logic. This problem, for which a solution is described more fully hereinafter, is how to provide a mechanism for the GPSTP to re-initialize selected portions of itself when a set of stimuli is perceived by the GPSTP itself to signify a change of context. To appreciate the importance of being able to recognize and to act on changes in context as well as content, consider an application in which a GPSTP is used to recognize complex behaviors that precede system failures and signal control elements so they can prevent a system failure. One of many precursor patterns that must be concurrently monitored consists of 1) A frame formed by two triads of stimuli falling within individual limits in a given order: this frame forms a context in which the indicators of may occur. An indicator of looming failure is a string of stimuli with a series of ranges of values that must occur in a given order followed by a string of unknown length of stimuli whose values and order are of no significance followed by a series of stimuli with specific values but in any order. Moreover, a stream of stimuli meeting these criteria must occur within a frame. In order to avoid the satisfaction of only two of the three criteria occurring in one frame, and the third in another frame, the GPSTP must be able to re-initialize the cells participating in finding stimulus strings that meet the sets of criteria. However, the task of recognizing changes of context, boundaries, and frames is one that requires the same facilities as finding qualifying sequences within a context defining boundaries or frames. It would be unfortunate to have to perform context recognition in a host system rather than in the GPSTP concurrently with recognition of qualifying content.
These three issues provide opportunities for aggregation functionality improvement and are addressed by the present invention.